public class test2 {
    public static void main(String[] args) {
        intarray();
        otherarray();
        usearray();

    }
    public static void intarray() {
        //数组  相同元素类型的集合，在内存中是一块连续的空间
        int[] array1 = {1,2,3,4};//整型数组 下标从0开始

        int[] array2 = new int[10];//定义了一个大小为10的整型数组  10个0

        int[] array3 = new int[]{1,2,3,4,5,6,7};//可简写成1的形式

        System.out.println(array1);//[I@1b6d3586
        System.out.println(array2);//[I@4554617c
        System.out.println(array3);//[I@74a14482
        //[I@74a14482 可以理解为地址  实际上这不是真实的地址 是一个哈希值
        //引用变量：存储“地址”的变量

        int[] array4;
        array4 = new int[10];

        int[] array5;
        array5 = new int[]{1,2,3,4,5};

//        int array6;
//        array6 = {1,2,3,4,5,6};不允许这样写
    }
    public static void otherarray() {
        char[] array = new char[10];//十个空

        double[] array2 = new double[10];//十个0.0

        boolean[] array3 = new boolean[10];//十个false

        String[] array4 = new String[10];//十个null
    }
    public static void usearray() {
        int[] array1 = {1,2,3,4};
        System.out.println(array1[0]);
        System.out.println(array1[1]);
        System.out.println(array1[2]);
        System.out.println(array1[3]);
        //System.out.println(array1[4]);//数组越界异常

        System.out.println(array1.length);//array1的长度
        //打印数组两种方法
        for (int i = 0; i < array1.length; i++) {
            System.out.print(array1[i]+" ");
        }
        System.out.println();//换行
        //foreach循环拿不到下标
        //foreach循环  数组元素存入哪里:数组名称
        for (int x: array1) {
            System.out.print(x+" ");
        }
        System.out.println();
    }
}
